define(["jquery", "bootstrap", "backend", "table", "form"], function(
  $,
  undefined,
  Backend,
  Table,
  Form
) {
  var Controller = {
    index: function() {
      // 初始化表格参数配置
      Table.api.init({
        extend: {
          index_url: "blog/sorts/index" + location.search,
          add_url: "blog/sorts/add",
          edit_url: "blog/sorts/edit",
          del_url: "blog/sorts/del",
          multi_url: "blog/sorts/multi",
          table: "blog_sorts"
        }
      });

      var table = $("#table");

      // 初始化表格
      table.bootstrapTable({
        url: $.fn.bootstrapTable.defaults.extend.index_url,
        pk: "id",
        sortName: "weigh",
        escape: false,
        columns: [
          [
            { checkbox: true },
            { field: "id", title: __("Id") },
            { field: "sort_name", title: __("Sort_name") },
            { field: "sort_alias", title: __("Sort_alias") },
            { field: "pid", title: __("Pid") },
            {
              field: "createtime",
              title: __("Createtime"),
              operate: "RANGE",
              addclass: "datetimerange",
              formatter: Table.api.formatter.datetime
            },
            {
              field: "updatetime",
              title: __("Updatetime"),
              operate: "RANGE",
              addclass: "datetimerange",
              formatter: Table.api.formatter.datetime
            },
            { field: "weigh", title: __("Weigh") },
            {
              field: "operate",
              title: __("Operate"),
              table: table,
              events: Table.api.events.operate,
              formatter: Table.api.formatter.operate
            }
          ]
        ]
      });

      // 为表格绑定事件
      Table.api.bindevent(table);
    },
    add: function() {
      Controller.api.bindevent();
    },
    edit: function() {
      Controller.api.bindevent();
    },
    api: {
      bindevent: function() {
        Form.api.bindevent($("form[role=form]"));
      }
    }
  };
  return Controller;
});
